﻿// =============================================================================
// TNTTools ISimpleSerializer.cs
// Copyright (c) 2013 TNTTechnologies Inc.
// =============================================================================

#region

using System;
using System.Collections.Generic;
using System.Text;

#endregion

namespace TNTTools.Reflection.Interfaces{
    public interface ISimpleSerializer{
        void Serialize(StringBuilder stringStream, object source);

        void WriteElementStart(StringBuilder stringStream, Type sourceType, ObjectInfo objectInfo);

        void WriteElementEnd(StringBuilder stringStream, Type sourceType, ObjectInfo objectInfo);

        void WriteXmlAttribute(
            StringBuilder stringStream, ReflectiveProperty infoEx, object value, string attributeName);

        List<Type> GetAttributeTypes();
    }
}